﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using System.Data;
using Gem_Tools_Utility;

namespace Gem_Tools_Entity.Gem_Tools
{
    public class CStaff : ICloneable
    {
        private Boolean m_blSelected;
        private int m_intAuto_ID;
        private string m_strUserName;
        private string m_strPassword;
        private string m_strFull_Name;
        private int m_intRegency_ID;
        private string m_strEmail;
        private string m_strExtension;
        private string m_strNote;
        private int m_intis_Active;
        private DateTime m_dtmCreated;
        private string m_strCreated_By;
        private int m_intDeleted;
        private DateTime m_dtmLast_Updated;
        private string m_strLast_Updated_By;
        //update on Nov-1-2013
        private string m_strCurrent_Project;


        public void ResetData()
        {
            m_blSelected = CConst.BL_VALUE_NULL;
            m_intAuto_ID = CConst.INT_VALUE_NULL;
            m_strUserName = CConst.STR_VALUE_NULL;
            m_strPassword = CConst.STR_VALUE_NULL;
            m_strFull_Name = CConst.STR_VALUE_NULL;
            m_intRegency_ID = CConst.INT_VALUE_NULL;
            m_strEmail = CConst.STR_VALUE_NULL;
            m_strExtension = CConst.STR_VALUE_NULL;
            m_strNote = CConst.STR_VALUE_NULL;
            m_intis_Active = CConst.INT_VALUE_NULL;
            m_dtmCreated = CConst.DTM_VALUE_NULL;
            m_strCreated_By = CConst.STR_VALUE_NULL;
            m_intDeleted = CConst.INT_VALUE_NULL;
            m_dtmLast_Updated = CConst.DTM_VALUE_NULL;
            m_strLast_Updated_By = CConst.STR_VALUE_NULL;
            m_strCurrent_Project = CConst.STR_VALUE_NULL;
        }

        public Boolean Selected
        {
            get
            {
                return m_blSelected;
            }
            set
            {
                m_blSelected = value;
            }
        }

        public int Auto_ID
        {
            get
            {
                return m_intAuto_ID;
            }
            set
            {
                m_intAuto_ID = value;
            }
        }


        public string UserName
        {
            get
            {
                return m_strUserName;
            }
            set
            {
                m_strUserName = value.Trim();
            }
        }


        public string Password
        {
            get
            {
                return m_strPassword;
            }
            set
            {
                m_strPassword = value.Trim();
            }
        }


        public string Full_Name
        {
            get
            {
                return m_strFull_Name;
            }
            set
            {
                m_strFull_Name = value.Trim();
            }
        }


        public int Regency_ID
        {
            get
            {
                return m_intRegency_ID;
            }
            set
            {
                m_intRegency_ID = value;
            }
        }


        public string Email
        {
            get
            {
                return m_strEmail;
            }
            set
            {
                m_strEmail = value.Trim();
            }
        }


        public string Extension
        {
            get
            {
                return m_strExtension;
            }
            set
            {
                m_strExtension = value.Trim();
            }
        }


        public string Note
        {
            get
            {
                return m_strNote;
            }
            set
            {
                m_strNote = value.Trim();
            }
        }


        public int is_Active
        {
            get
            {
                return m_intis_Active;
            }
            set
            {
                m_intis_Active = value;
            }
        }


        public DateTime Created
        {
            get
            {
                return m_dtmCreated;
            }
            set
            {
                m_dtmCreated = value;
            }
        }


        public string Created_By
        {
            get
            {
                return m_strCreated_By;
            }
            set
            {
                m_strCreated_By = value.Trim();
            }
        }


        public int Deleted
        {
            get
            {
                return m_intDeleted;
            }
            set
            {
                m_intDeleted = value;
            }
        }


        public DateTime Last_Updated
        {
            get
            {
                return m_dtmLast_Updated;
            }
            set
            {
                m_dtmLast_Updated = value;
            }
        }


        public string Last_Updated_By
        {
            get
            {
                return m_strLast_Updated_By;
            }
            set
            {
                m_strLast_Updated_By = value.Trim();
            }
        } 


        public object Clone()
        {
            return this.MemberwiseClone();
        }


        public string Regency
        {
            get
            {
                string strResult = "";
                if (Regency_ID == 0)
                    strResult = "Artist";
                if (Regency_ID == 1)
                    strResult = "Technician";
                if (Regency_ID == 2)
                    strResult = "Producer";
                if (Regency_ID == 3)
                    strResult = "Admin";
                if (Regency_ID == 4)
                    strResult = "Art Lead";
                return strResult;
            }
        }


        public string Current_Project
        {
            get
            {
                return m_strCurrent_Project;
            }
            set
            {
                m_strCurrent_Project = value.Trim();
            }
        }
    }
}
